home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
C64
/
T-TPUG Old Monthly Disks
/
(c)tk.d64
/
mlappend ins.c
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2007-02-04
|
4KB
|
133 lines
10 PRINT"[147][144]";:POKE53281,12:POKE53280,12:PRINTCHR$(14)
20 FORI=1TO23
30 READA$
40 IFA$="[157]"THENGOSUB80:END
50 PRINTA$
60 NEXT
70 GOSUB80:GOTO20
80 PRINT" PRESS A KEY TO CONTINUE[146]";
90 GETB$:IFB$=""THEN90
100 PRINT"[147]":RETURN
10000 DATA" [205][204] [193][208][208][197][206][196][197][210] 64
10010 [131]" BY
10020 DATA" [205]IKE [203]OZAKIEWICZ
10030 [131]"
10040 DATA"
10050 [131]"(null)(null)(null)(null)(null)(null)VAL
10060 DATA"
10070 [131]"(null)(null) ATN(null)(null)VAL(null)STR$VAL(null) 64 IS USED TO CREATE A
10080 DATA"SINGLE FILE FROM SEPARATE [194][193][211][201][195] AND AN
10090 [131]"(null)(null) PROGRAMS WHICH WORK TOGETHER. (null)ANY
10100 DATA"PROGRAMS HAVE BOTH [194][193][211][201][195] AND [205][204] PARTS.
10110 [131]"RIGHT$T IS INCONVENIENT TO LOAD EACH PART OF
10120 DATA"THE PROGRAM INDIVIDUALLY, SO THE
10130 [131]"PROGRAMMER FREQUENTLY WILL MAKE A
10140 DATA"'[194]OOT' PROGRAM WHICH [204][207][193][196]S THE [205][204] PART
10150 [131]"AND THEN (null)(null)ATNSTR$S AND (null)(null)(null)S THE PEEKATN(null)RIGHT$LEN PART.
10160 DATA"[215]HEN A '[194]OOT' IS USED, THE PROGRAM WILL
10170 [131]"CONSISTS OF THREE FILES. (null)(null) ATN(null)(null)VAL(null)STR$VAL(null) 64
10180 DATA"ELIMINATES THE NEED FOR A '[194]OOT', AND
10190 [131]"COMBINES THE PEEKATN(null)RIGHT$LEN AND (null)(null) PORTIONS OF A
10200 DATA"PROGRAM WITHOUT GENERATING [196][193][212][193]
10210 [131]"STATEMENTS.
10220 DATA"
10230 [131]"
10240 DATA"
10250 [131]"LEFT$(null)(null) (null)(null) (null)(null)VAL (null)(null) ATN(null)(null)VAL(null)STR$VAL(null) 64
10260 DATA"
10270 [131]"1. WRITE THE PEEKATN(null)RIGHT$LEN PART OF YOUR PROGRAM
10280 DATA"AND SAVE IT TO DISK.
10290 [131]"
10300 DATA"2. WRITE THE [205][204] PART OF YOUR PROGRAM
10310 [131]"AND SAVE IT TO THE SAME DISK. (null)AVE THE
10320 DATA"[205][204] WITH A UTILITY THAT ALLOWS SAVING
10330 [131]"ANY BLOCK OF THE COMPUTER'S MEMORY (EG.
10340 DATA"[211][213][208][197][210][205][207][206]).
10350 [131]"
10360 DATA"3. [204][207][193][196] AND [210][213][206] [205][204] [193][208][208][197][206][196][197][210] 64. [201]N
10370 [131]"RESPONSE TO ITS PROMPTS, INDICATE THE
10380 DATA"[194][193][211][201][195] PROGRAM AND THE [205][204] PROGRAM THAT
10390 [131]"ARE TO BE MERGED. (null)(null)(null)VAL: YOU CAN VIEW
10400 DATA"THE DISK DIRECTORY BY RESPONDING TO THE
10410 [131]"PROMPT BY ENTERING A DOLLAR SIGN ($).
10420 DATA"
10430 [131]"
10440 DATA"[205][204] [193][208][208][197][206][196][197][210] 64
10450 [131]"
10460 DATA"[215]ILL RESET THE START OF [194][193][211][201][195] TEXT
10470 [131]"MEMORY. RIGHT$T THEN (null)(null)ATNSTR$S IN FIRST THE
10480 DATA"[194][193][211][201][195] PROGRAM AND THEN THE [205][204] PROGRAM.
10490 [131]"(null)O THE END OF THE (null)(null) PROGRAM IT ADDS A
10500 DATA"[205][207][214][197][210] ROUTINE AND FOUR DATA BYTES THAT
10510 [131]"INDICATE WHERE THE (null)(null) PROGRAM SHOULD BE
10520 DATA"MOVED WHEN THE [194][193][211][201][195] PROGRAM IS RUN.
10530 [131]"
10540 DATA"[194]EFORE [210][213][206]NING OR [211][193][214][197]ING THE NEW
10550 [131]"COMBINATION PEEKATN(null)RIGHT$LEN AND (null)(null) PROGRAM, YOU
10560 DATA"MUST ADD THE FOLLOWING LINE TO THE
10570 [131]"PEEKATN(null)RIGHT$LEN PART.
10580 DATA"
10590 [131]"SYS(PEEK(45)+PEEK(46)*256-63)
10600 DATA"
10610 [131]"(null)HIS SYS ACTIVATES THE (null)(null)(null)VAL(null) TO PUT
10620 DATA"YOUR [205][204] ROUTINE WHERE IT BELONGS IN
10630 [131]"MEMORY. PEEKECAUSE THE (null)(null)(null)VAL(null) IS
10640 DATA"RELOCATABLE, YOU MAY MAKE CHANGES TO
10650 [131]"YOUR PEEKATN(null)RIGHT$LEN PROGRAM WITHOUT ADVERSELY
10660 DATA"AFFECTING THE [205][204] PROGRAM THAT IS
10670 [131]"APPENDED TO THE PEEKATN(null)RIGHT$LEN PROGRAM. RIGHT$
10680 DATA"RECOMMEND THAT THE NEW SYS STATEMENT BE
10690 [131]"PUT EARLY IN YOUR PROGRAM IN A PLACE
10700 DATA"THAT WILL NOT BE EXECUTED MORE THAN
10710 [131]"ONCE DURING THE (null)(null)(null)NING OF THE
10720 DATA"PROGRAM.
10730 [131]"
10740 DATA"
10750 [131]"LEFT$(null)(null) ATN(null)STR$ (null)LEFT$(null) (null)(null) ATN(null)(null)VAL(null)STR$VAL(null) 64 (null)(null)(null)(null)(null)
10760 DATA"
10770 [131]"ASCOR THOSE OF YOU WHO ARE NOT
10780 DATA"PROGRAMMERS, YOU NEED NOT READ FURTHER.
10790 [131]"ASCOR THOSE WHO CARE, HERE IS HOW (null)(null)
10800 DATA"[193][208][208][197][206][196][197][210] 64 WORKS.
10810 [131]"
10820 DATA"[201]N MEMORY, [194][193][211][201][195] PROGRAMS END WITH
10830 [131]"THREE BINARY ZEROS ((null)PEEK(null)). (null)HE START OF
10840 DATA"[194][193][211][201][195] VARIABLES ([211][207][214]) ORDINARILY BEGINS
10850 [131]"IMMEDIATELY AFTER THE (null)PEEK(null). LEFT$OWEVER THE
10860 DATA"[211][207][214] POINTER (WHICH IS LOCATED ON ZERO
10870 [131]"PAGE AT LOCATIONS 45 AND 46) CAN BE SET
10880 DATA"SO THAT THERE IS SPACE BETWEEN THE [212][194][218]
10890 [131]"AND THE (null)(null)(null). (null)HE SIZE OF THIS SPACE IS
10900 DATA"NOT ALTERED IF THE [194][193][211][201][195] PROGRAM IS
10910 [131]"CHANGED (EG. LINES ADDED OR DELETED).
10920 DATA"[212]HE SPACE WILL MOVE UP AND DOWN IN
10930 [131]"MEMORY, BUT WILL NOT OTHERWISE BE
10940 DATA"ALTERED. [193] [205][204] PROGRAM COULD BE PUT IN
10950 [131]"THIS AREA IF IT WERE RELOCATABLE. (null)ANY
10960 DATA"(AND IN FACT MOST) [205][204] PROGRAMS ARE [206][207][212]
10970 [131]"RELOCATABLE, SO THIS AREA IS NOT USEFUL
10980 DATA"FOR RUNNING MOST [205][204] PROGRAMS.
10990 [131]"
11000 DATA"[205][204] [193][208][208][197][206][196][197][210] 64 LOADS THE [205][204] PROGRAM
11010 [131]"THAT YOU DESIGNATE INTO THE MEMORY
11020 DATA"SPACE BETWEEN THE [212][194][218] AND THE [211][207][214]. [201]N
11030 [131]"ADDITION, IT PUTS A RELOCATABLE (null)(null)
11040 DATA"[205][207][214][197][210] ROUTINE AT THE END OF YOUR [205][204]
11050 [131]"ROUTINE. (null)HIS (null)(null)(null)VAL(null) ROUTINE IS 63 BYTES
11060 DATA"LONG, INCLUDING FOUR DATA BYTES AT THE
11070 [131]"END OF THE ROUTINE. (null)HE DATA BYTES
11080 DATA"GIVE THE [205][207][214][197][210] THE INFORMATION IT NEEDS
11090 [131]"TO KNOW IN ORDER TO MOVE YOUR (null)(null)
11100 DATA"ROUTINE TO WHERE IT BELONGS. [194]ECAUSE
11110 [131]"THE MOVER IS LOCATED 63 BYTES BEFORE
11120 DATA"THE [211][207][214], IT IS ACTIVATED BY
11130 [131]"SYS(PEEK(45)+PEEK(46)*256-63).
11140 DATA"
11150 [131]"
11160 DATA" [205]IKE [203]OZAKIEWICZ
11170 [131]" 175 (null)HARON STR$RIVE
11180 DATA" [210]OCHESTER, [206][217] 14626
11190 [131]" (null)(null)ATN
11200 DATA"
11210 [131]"CMD